Standard small computer systems interface (SCSI) drives are not fast enough to allow writing of audio data. Such SCSI drives have a write with verify (xe2x80x9cwrite-verifyxe2x80x9d) mode in which all written data is reread and compared with the original data. If there is a recording error, the portion where the error occurs is flagged as bad and the data is recorded at another location on the disk. This is time consuming. For example, when recording eight channels of real time audio data on a xe2x80x9cJazxe2x80x9d model drive manufactured by lomega Corporation, the bandwidth suffers significantly due to this write-verify cycle.
However, not all of the recording data needs to be recorded with absolute accuracy. For example, a byte of audio data, which is incorrectly recorded, at worst case, only reproduces as a pop sound. Only certain bits of the recording data, so-called meta data which includes track lists, event lists, and the like, needs to be recorded with absolute accuracy because loss of this data impacts on how large blocks of the audio data are reproduced. If the track data is incorrectly written to the SCSI drive, the entire track is worthless and you will have lost all the data recorded to that track. It would be advantageous to be able to only write-verify this meta data and record the audio data without this routine. Heretofore, however, it has not been clear how to accomplish this objective.
One attempt utilized the fact that the write-verify setting in the SCSI is settable by a bit stored in a memory. Typically, this is an electronic erasable programmed read-only memory (EEPROM). In this scheme, when the control data was to be saved, the bit in the EEPROM was set to write-verify mode. However, the EEPROM was capable of only approximately 100,000 writes before it failed. At a rate of saving track control data every minute or two, this meant that the EEPROM failed in a few weeks. Thus, this scheme has not proven to be practical.
A method of recording data, including audio data and control data, to a drive having both a write mode and a write-verify mode by organizing the recording data into data blocks, checking each data block to see if it is audio data or control data, recording data blocks determined to be audio data to the drive while the drive has the write-verify mode turned off, and recording data blocks determined to be control data to the drive while the drive is in the write-verify mode. The drive is a SCSI drive and the process is principally executed in software. In the preferred embodiment, the drive is initialized to a write mode and then commanded, when non-audio data is detected, to write recording data while in a write-verify mode.
More specifically, the method of recording data, including audio data and control data, to a SCSI drive having both a write mode and a write-verify mode, according to the present invention, comprises the steps of initializing the drive to a write mode, receiving recording data and organizing the recording data into SCSI request blocks (SRBs), and checking each SRB to see if it contains a write block.
If the SRB includes either no write block or is audio data, then the SRB is recorded by the drive while the write-verify mode is turned off. However, if the SRB includes a write block and no audio data, then the SRB is converted from a write block to a write-verify block and recorded by the drive while it is operating in the write-verify mode. The processing of the SRB to record the SRB on the drive includes sequentially passing the SRB to a SCSI port driver (which interfaces to a SCSI card), a SCSI miniport driver, and a SCSI card.
The present invention further includes an apparatus used in carrying out the above-described method, in particular, a programmed computer.
The foregoing and other objectives, features and advantages of the invention will be more readily understood upon consideration of the following detailed description of certain preferred embodiments of the invention, taken in conjunction with the accompanying drawings.